/*
localStorage 是永久存储在浏览器中，只要用户不删除数据，该数据会一直存放在 localStorage 中
sessionStorage 是会话级别的存储，当用户关闭浏览器，数据就会被销毁

localStorage 和 sessionStorage 存储大小都是5MB
sessionStorage 和 localStorage 都是存放在客户端，不与服务器进行交互通信
localStorage 和 sessionStorage 只能存储字符串类型
其他类型使用JSON对象的stringify和parse进行处理
获取方式： localStorage: window.localStorage ， sessionStorage: window.sessionStorage

localStorage 用于长期登录，sessionStorage用于敏感账号的登录
webStorage 和 cookie 区别
cookie 为 4KB , webStorage 为 5MB
webStorage 存储在本地，不会发送到服务端
对于那种只需要在用户浏览一组页面期间保存而关闭浏览器后就可以丢弃的数据
sessionStorage会非常方便
webStorage不会随着HTTP header发送到服务端，所以相比于 cookie 来说比较安全一些
不用担心被截获，但是任然存在一些伪造问题
webStorage存在一些方法比cookie更加简便

localStorage 在浏览器的隐私模式下面是不可读取的。
localStorage 本质上是对字符串的读取，有json格式时需要JSON.stringify()转化为字符串。
localStorage 不能被爬虫抓取到
*/

// ========== localStorage

export function getLStorage(key) {
  return localStorage.getItem(key)
}

export function getLStorageObj(key) {
  return JSON.parse(localStorage.getItem(key))
}

export function setLStorage(key, val) {
  localStorage.setItem(key, val)
}

export function setLStorageObj(key, val) {
  localStorage.setItem(key, JSON.stringify(val))
}

export function removeLStorage(key) {
  localStorage.removeItem(key)
}

export function clearAllLStorage() {
  localStorage.clear()
}

// ========== sessionStorage

export function getSStorage(key) {
  return sessionStorage.getItem(key)
}

export function getSStorageObj(key) {
  return JSON.parse(sessionStorage.getItem(key))
}

export function setSStorage(key, val) {
  sessionStorage.setItem(key, val)
}

export function setSStorageObj(key, val) {
  sessionStorage.setItem(key, JSON.stringify(val))
}

export function removeSStorage(key) {
  sessionStorage.removeItem(key)
}

export function clearAllSStorage() {
  sessionStorage.clear()
}
